23159
23257
Я пытаюсь загрузить прогноз после распаковки, но получаю эту ошибку
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29:
DeprecationWarning: numpy.core.umath_tests - это внутренний модуль NumPy
и не должны импортироваться. Он будет удален в будущем NumPy.
выпуск. из numpy.core.umath_tests import inner1d
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311:
UserWarning: пытаюсь выделить средство оценки DecisionTreeClassifier из
версия 0.20.2 при использовании версии 0.19.2. Это может привести к поломке
код или неверные результаты. Используйте на свой риск. UserWarning)
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311:
UserWarning: попытка отобрать оценщик RandomForestClassifier из
версия 0.20.2 при использовании версии 0.19.2. Это может привести к поломке
код или неверные результаты. Используйте на свой риск. UserWarning)
Отслеживание (последний вызов последним): файл "rf_pred_model_tester.py",
строка 7, в
print ('Class:', int (rf.predict (xx))) Файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py" ,
строка 538, в прогнозе
proba = self.predict_proba (X) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py",
строка 581, в строке pred_proba
Файл n_jobs, _, _ = _partition_estimators (self.n_estimators, self.n_jobs)
"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/base.py",
строка 153 в _partition_estimators
n_jobs = min (_get_n_jobs (n_jobs), n_estimators) Файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/utils/init.py",
строка 464 в _get_n_jobs
если n_jobs <0: TypeError: '<' не поддерживается между экземплярами 'NoneType' и 'int'
вот код, который я пытаюсь запустить
импортный рассол
импортировать numpy как np
с open ('rf_model_1', 'rb') как f:
rf = pickle.load (f)
xx = np.array ([67, 17832, 1, 1, 0, 33, 1941902452, 36, 33011.0, 19, 18, 0, 2, 1]). reshape (1, -1)
print ('Класс:', int (rf.predict (xx)))
Ожидаю такого результата:
Класс: [0]
если я запускаю код на jupyter, он работает нормально, но я получаю сообщение об ошибке, когда пытаюсь запустить на терминале. 
Твоя ошибка прямо выразилась:
UserWarning: Попытка отобрать средство оценки RandomForestClassifier из версии 0.20.2 при использовании версии 0.19.2. Это может привести к нарушению кода или неверным результатам. Используйте на свой риск.
И действительно это произошло; при мариновании атрибут n_jobs вашего RandomForestClassifier сохранял значение None. Это значение по умолчанию для инициализации, но «за кулисами» обычно устанавливается равным 1. Более подробную информацию о n_jobs можно найти здесь: https://scikit-learn.org/stable/glossary.html#term-n-jobs
Для вас установка n_jobs для rf в 1 поможет:
импортный рассол
импортировать numpy как np
с open ('rf_model_1', 'rb') как f:
rf = pickle.load (f)
rf.n_jobs = 1
xx = np.array ([67, 17832, 1, 1, 0, 33, 1941902452, 36, 33011.0, 19, 18, 0, 2, 1]). reshape (1, -1)
print ('Класс:', int (rf.predict (xx)))
|
Весьма активный вопрос. Заработайте 10 репутации, чтобы ответить на этот вопрос. Требование репутации помогает защитить этот вопрос от спама и случаев отсутствия ответов.
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками python-3.x или задайте свой вопрос.